package com.ruoyi.business.service;

import java.util.List;

import com.ruoyi.business.domain.*;

/**
 * StatisticsService接口
 *
 * @author win
 * @date 2021-06-24
 */
public interface IStatisticsService
{
    /**
     * 查询Statistics
     *
     * @param id StatisticsID
     * @return Statistics
     */
    public List<StatisticsVO> selectStatisticsById(Long id);

    /**
     * 查询Statistics列表
     *
     * @param statistics Statistics
     * @return Statistics集合
     */
    public List<Content> selectStatisticsList(Statistics statistics);

    /**
     * 新增Statistics
     *
     * @param statistics Statistics
     * @return 结果
     */
    public int insertStatistics(Statistics statistics);

    /**
     * 修改Statistics
     *
     * @param statistics Statistics
     * @return 结果
     */
    public int updateStatistics(Statistics statistics);

    /**
     * 批量删除Statistics
     *
     * @param ids 需要删除的StatisticsID
     * @return 结果
     */
    public int deleteStatisticsByIds(Long[] ids);

    /**
     * 删除Statistics信息
     *
     * @param id StatisticsID
     * @return 结果
     */
    public int deleteStatisticsById(Long id);

    /**
     * 查找某个IP今天是否观看了某个内容
     * @param contentId
     * @param clientIp
     * @return
     */
    boolean hasTodayStatistics(Long contentId, String clientIp);

    List<DepartVO> departPublishStatistics();

    List<Depart> selectDepartStatistics(Integer limit, Integer belong);

    List<Content> selectContentStatistics(Integer limit);

    List<Content> selectContentStatisticsPage();

    List<Content> selectContentsByDepartId(Long departId);

    List<Depart> selectDepartPublish();

    List<PublishVo> selectPublishStatistics();

    Integer countVisitByContentId(Long contentId);

    List<StatisticsVO> exportStatistics(Statistics statistics);
}
